package cn.devzyh.oms.common.core.message;

/**
 * 工作流模块错误编码
 *
 * @author devzyh
 * @date 2024-02-29
 */
public interface FlowErrorCodes {

	/**
	 * 工作流{0}不存在
	 */
	String FLOW_NOT_EXISTS = "coms.flow.not.exists";

	/**
	 * 工作流{0}必填参数{1}为空
	 */
	String FLOW_REQUIRED_PARAM_EMPTY = "coms.flow.required.param.empty";

	/**
	 * 工作流{0}起点为{1}的连线不存在
	 */
	String EDGE_NOT_EXISTS = "coms.flow.edge.not.exists";

	/**
	 * 工作流{0}起点{1}未找到符合条件的终点
	 */
	String END_NODE_NOT_EXISTS = "coms.flow.end.node.not.exists";

	/**
	 * 工作流{0}节点{1}实现类不存在
	 */
	String SERVICE_NOT_EXISTS = "coms.flow.service.not.exists";

	/**
	 * 工作流{0}执行失败，回滚成功；执行失败原因：{1}
	 */
	String ROLLBACK_SUCCESS = "coms.flow.rollback.success";

	/**
	 * 工作流{0}执行失败，回滚失败；执行失败原因：{1}
	 */
	String ROLLBACK_FAILURE = "coms.flow.rollback.failure";

	/**
	 * 工作流{0}执行达到最大节点数{1}
	 */
	String MAX_NODE_LIMIT = "coms.flow.max.node.limit";

	/**
	 * 连线{0}的测试参数值解析失败
	 */
	String EDGE_TEST_VALUE_EXCEPTION = "coms.flow.edge.test.value.exception";

	/**
	 * 连线{0}的表达式计算失败，原因{1}
	 */
	String EDGE_SPRING_EL_EXCEPTION = "coms.flow.edge.spring.el.exception";


	/**
	 * 流程{0}异常结束
	 */
	String FLOW_END_EXCEPTION = "coms.flow.end.exception";
}
